/**
 *
 */
package fr.afcepf.al23.qualite.data;
import fr.afcepf.al23.qualite.entity.Utilisateur;

/**
 * Definition des methodes liees a la manipulation
 *  de l'entite {@link Utilisateur}.
 * @author Stagiaire
 *
 */
public interface IDaoUtilisateur {

    /**
     * Methode permettant a {@link Utilisateur} de se connecter.
     * @param mail  mail
     * @param mdp   mot de passe
     * @return
     *  <ul>
     *      <li> null si la connexion a echouee.</li>
     *      <li>{@link Utilisateur} si la connexion a reussie.</li>
     *  </ul>
     */
    Utilisateur seConnecter(String mail, String mdp);
    /**
     * Methode permettant la creation d'un {@link Utilisateur}.
     * @param util  {@link Utilisateur} a enregistrer
     * @return
     *  <ul>
     *      <li> null si la creation a echouee.</li>
     *      <li>{@link Utilisateur} si la creation a reussie.</li>
     *  </ul>
     */
    Utilisateur enregistrer(Utilisateur util);
    /**
     * Methode permettant de verifier le mail d'un {@link Utilisateur}.
     * @param mail mail
     * @return
     *  <ul>
     *      <li> true si le mail existe.</li>
     *      <li> false si le mail est disponible.</li>
     *  </ul>
     */
    boolean verifMail(String mail);
}
